#pragma once

#include "rockapi.h"
#include <functional>
#ifdef SOFT_LICENSE_ON
class SoftDogServiceImpl;
#else
class DogServiceImpl;
#endif

class ROCK_DOG_API DogService
{
public:
    DogService();
    ~DogService();

    int start();
    void stop();
    std::string getMemoryInfo();
    void checkDogExpireDate(void(*cb)(int));
    int getDogExpireDateStatus();
    void setTimerInterval(int interval, int expDateinterval);
    int getDogStatus();
    void checkDogStatus(void(*cb)(int));
    bool getCheckExpDateFlag();

private:

#ifdef SOFT_LICENSE_ON
    SoftDogServiceImpl * _pImpl;
#else
    DogServiceImpl * _pImpl;
#endif

};

